<?php
if(Online)
{
	if(accesLv >= 100)
	{
		$thisPage = "Gestion_listing_mail";//Contient en chaîne de caractère le nom de la variable nécessaire pour charger cette même page (pour ajouter des lien ver cette page par exemple)
		if(isset($_GET[subPageVar]))//Si on demande une partie spécifique de la gestion de liste de diffusion (modifier, supprimer...)
		{
			$action = $_GET[subPageVar];//On stocke notre demande
		}
		else//Sinon
		{
			$action = "";//On ajoute notre variable vierge pour éviter toute erreur.
		}
		//
		if($action == "ajouter")//Si on demande la création d'une liste ou l'ajout de contact dans une liste...
		{
			if(isset($_GET['idl']) AND is_numeric($_GET['idl']))//Si on demande la modification
			{
				$idl = $_GET['idl'];
				$lst = $bdd->query("SELECT nomListe
									FROM `liste`
									WHERE idListe = ".$idl."");
				$liste = $lst->fetch();
				$name = $liste['nomListe'];
			}
			else
			{
				$idl = -1;
				$name = "";
			}
			?>
			<article class="allAlign">
				<h3>Ajout d'une liste de diffusion :</h3>
				<p onclick='$(this).hide();'>Utilisation : (cliquez sur le texte pour le cacher)<br />
				La modification du titre créeras une nouvelle liste de diffusion.<br />
				Il suffit de cliquer sur modifier dans la page précédente et de cocher les contacts pour les ajouter à la liste<br />
				La modification du titre se fait dans la page précédente.</p>
				<form id='fomrDifList'>
					<input type='text' placeholder='Nom de la liste' name='lstName' value='<?php echo $name;?>' /><button type="button" onclick='applyList();'>Ajouter/Modifier</button>
					<div class="userList">
						Liste des utilisateurs a ajouter dans la liste :<br />
						<?php
						$contactLst = $bdd->query("SELECT idContact, nomContact, prenomContact, mailContact
													FROM contact");
						while($contact = $contactLst->fetch())
						{
							$difuLst = $bdd->query("SELECT count(*) AS isExisting FROM diffuser WHERE idContact = '".$contact['idContact']."' AND idListe = '".$idl."' ");
							$diffuContact = $difuLst->fetch();
							echo"<input type='checkbox' class='checkBoxCont' value='".$contact['idContact']."' id='check_".$contact['idContact']."'";
							if($diffuContact['isExisting'] >= 1)
							{
								echo " CHECKED";
							}
							echo" />".$contact['nomContact']." ".$contact['prenomContact']." : ".$contact['mailContact']."<br />";
						}
						?>
					</div>
				</form>
				<a href="<?php echo"?".pageVar."=".$thisPage;?>"><button type="button" value="Retour">Retour</button></a>
			</article>
			<script>
				function applyList()
				{
					var listForm = document.getElementById('fomrDifList');
					var listName = listForm.lstName.value;
					var postVars = "";
					$.each(document.getElementsByClassName("checkBoxCont"), function(index,data){
						if(document.getElementById("check_"+data.value).checked)
						{
							postVars = postVars + data.value + "|";
						}
					});
					if(listName != "")
					{
						$.ajax({
							type: "POST",
							url: "jqt/Gestion_listing_mail.jqt.php",
							dataType: "json",
							data: { user: "<?php echo User;?>", sess: "<?php echo Sess;?>", nomList: listName, contact: postVars}
						}).done(function(data) {
							console.log(data);
							if(data == "invalidSess" || data == "invalidData")
							{
								//console.log("Paramètres manquants");
								$(function() {
									new jBox("Notice", {
										content: "Paramètres manquants",
										color: "red",
										 delayClose: 1500
									});
								});
							}
							else if(data == "updatedList")
							{
								$(function() {
									new jBox("Notice", {
										content: "Liste mise a jour avec succes.",
										color: "green",
										 delayClose: 1500
									});
								});
							}
							else if(data == "insertedList")
							{
								$(function() {
									new jBox("Notice", {
										content: "Liste crée avec succes.",
										color: "green",
										 delayClose: 1500
									});
								});
							}
						});
					}
				}
			</script>
			<?php
		}
		elseif($action == "consulter")//Si on demande la modification d'une liste existante
		{
			if(isset($_GET['idl']) AND is_numeric($_GET['idl']))
			{
				$nam = $bdd->query("SELECT nomListe
									FROM `liste`
									WHERE idListe = ".$_GET['idl']."");
				$name = $nam->fetch();
				echo"
				<form name='listFrm'>
				<table class='difuList'>
					<caption><h3>Consultation de la liste : ".$name['nomListe']."</h3></caption>
					<tr>
						<td>
							Nom
						</td>
						<td>
							Prénom
						</td>
						<td>
							Mail
						</td>
						<!--<td>
							Action
						</td>-->
					</tr>
				";
				$list = $bdd->query("SELECT contact.nomContact, contact.prenomContact, contact.mailContact
									FROM contact, diffuser
									WHERE contact.idContact = diffuser.idContact
									AND diffuser.idListe = ".$_GET['idl']."
									ORDER BY contact.nomContact, contact.prenomContact, contact.mailContact ASC");
				while($rep = $list->fetch())
				{
					echo"
					<tr>
						<td>
							".$rep['nomContact']."
						</td>
						<td>
							".$rep['prenomContact']."
						</td>
						<td>
							".$rep['mailContact']."
						</td>
					</tr>
					";
				}
				echo "</table></form>
				<div style='text-align: center;margin: auto;'><a href='?".pageVar."=".$thisPage."'><button type='button' value='Retour'>Retour</button></a></div>";
			}
			else
			{
				echo "Informations manquantes, veuillez réessayer. Si l'erreur persiste, veuillez contacter un administrateur réseau";
			}
		}
		else/*par défaut, affichage des listes*/
		{
			$totalListe = $bdd->query("SELECT count(*) as nbr FROM liste");
			$total = $totalListe->fetch();
			$noNext = false;
			if(isset($_GET['num']) AND is_numeric($_GET['num']))
			{
				if($_GET['num'] >= $total['nbr'])
				{
					$j = 0;
				}
				else
				{
					$j = $_GET['num'];
					if($_GET['num'] + 30 >= $total['nbr'])
					{
						$noNext = true;
					}
				}
			}
			else
			{
				$j = 0;
				if($total['nbr'] <= 30)
				{
					$noNext = true;
				}
			}
			echo "<table class='difuList'>
					<caption>Gestionnaire de liste de diffusion : <a href='?".pageVar."=".$thisPage."&".subPageVar."=ajouter' class='newList classicBtn'>Ajouter une liste</a></caption>
					<tr>
						<td>
							Nom de la liste
						</td>
						<td>
							Nombre d'utilisateur
						</td>
						<td>
							Action
						</td>
					</tr>";
			$list = $bdd->query("SELECT count( diffuser.idListe ) AS nbrUser, liste.nomListe, liste.idListe
								FROM `liste` , `diffuser`
								WHERE liste.idListe = diffuser.idListe
								GROUP BY diffuser.idListe
								LIMIT $j , 30");/*A venir boutons suivant, précédent*/
			while($rep = $list->fetch())
			{
				echo"
				<tr id='lstRow_".$rep['idListe']."'>
					<td>
						<input type='text' onblur='modifName($(this).attr(\"name\"),$(this).val(),$(this).attr(\"oldname\"));' name='".$rep['idListe']."' oldname='".$rep['nomListe']."' value='".$rep['nomListe']."' placeholder='".$rep['nomListe']."' />
					</td>
					<td>
						".$rep['nbrUser']."
					</td>
					<td>
						<a class='tooltip' href='?".pageVar."=".$thisPage."&".subPageVar."=consulter&idl=".$rep['idListe']."' title='Liste des utilisateurs' ><img src=\"img/general/listeIcn.png\" width='20' height='20' /></a>
						<a class='tooltip' href='?".pageVar."=".$thisPage."&".subPageVar."=ajouter&idl=".$rep['idListe']."' title='Modifier la liste' ><img src='img/general/modifyIcn.png' width='20' height='20' /></a>
						<a class='tooltip' href='#' onclick='deleteLst(".$rep['idListe'].");' title='Supprimer la liste' ><img src='img/general/deleteIcn.png' width='20' height='20' /></a>
					</td>
				</tr>
				";
			}
			echo "</table><br /><div class='alignNewList'>";
			if($j >= 30)
			{
				echo "<a href='?".pageVar."=".$thisPage."&num=".($j-30)."' class='classicBtn'>Précédent</a>";
			}
			if(!$noNext)
			{
				echo "<a href='?".pageVar."=".$thisPage."&num=".($j+30)."' class='classicBtn'>Suivant</a>";
			}
			echo "<a href='?".pageVar."=".$thisPage."&".subPageVar."=ajouter' class='newList classicBtn'>Ajouter une liste</a></div>";
			?>
			<script>
			$('.tooltip').jBox('Tooltip');
			function deleteLst(listId)
			{
				$.ajax({
						type: "POST",
						url: "jqt/Gestion_listing_mail.jqt.php",
						dataType: "json",
						data: { user: "<?php echo User;?>", sess: "<?php echo Sess;?>", <?php echo subPageVar;?>: "supprimer", idl: listId}
					}).done(function(data) {
						console.log(data);
						if(data == "invalidSess" || data == "invalidData")
						{
							//console.log("Paramètres manquants");
							$(function() {
								new jBox("Notice", {
									content: "Paramètres manquants",
									color: "red",
									 delayClose: 1500
								});
							});
							//return false;
						}
						else if(data == "noDeletedAccount" || data == "noDeletedList")
						{
							//console.log("Paramètres manquants");
							$(function() {
								new jBox("Notice", {
									content: "Erreur de suppression, veuillez actualiser votre page et réessayer.",
									color: "red",
									 delayClose: 1500
								});
							});
							//return false;
						}
						else if(data == "Deleted")
						{
							$(function() {
								new jBox("Notice", {
									content: "Supression effectuée.",
									color: "green",
									 delayClose: 1500
								});
							});
							$("#lstRow_"+listId).hide('slow');
							//return true;
						}
					});
			}
			
			function modifName(listId, newName, oldName)
			{
				if(oldName != newName)
				{
					//console.log(listId+' to '+newName)
					$.ajax({
						type: "POST",
						url: "jqt/Gestion_listing_mail.jqt.php",
						dataType: "json",
						data: { user: "<?php echo User;?>", sess: "<?php echo Sess;?>", newNom: newName, idl: listId}
					}).done(function(data) {
						console.log(data);
						if(data == "invalidSess" || data == "invalidData")
						{
							//console.log("Paramètres manquants");
							$(function() {
								new jBox("Notice", {
									content: "Paramètres manquants",
									color: "red",
									 delayClose: 1500
								});
							});
						}
						else if(data == "updatedName")
						{
							$(function() {
								new jBox("Notice", {
									content: "Nom de votre liste mise a jour avec succes.",
									color: "green",
									 delayClose: 1500
								});
							});
						}
					});
				}
				/*else
				{
					console.log("Aucune modification n'a été apportée.");
				}*/
			}
			</script>
			<?php
		}
	}
	else
	{
		echo noAccessLevel;
	}
}
else
{
	echo noAccessRight;
}
?>